On Modular De nitions and Implementations of Programming Languages

نویسندگان

  • Gerhard Goos
  • Andreas Heberle
چکیده

We provide a framework for modular deenitions and implementations of programming language based on abstract state machines. It is based on composition mechanism of state transition systems. State transition systems abstract from the algebraic structure of the states of an abstract state machine and focus on the behavior of state transitions. Implementations are based of reenements of state transition systems. We show that it is possible to compositionally reene state transition systems. Parameterized state transition systems consider the composition as an operator (similar to e.g. C++-templates). Again, it turns out that reene-ment of parameterized state transition systems is compositional. These techniques are then specialized to abstract state machines and programming language deenitions. It turns out that Montages can viewed as a set of parameterized abstract state machines.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Separate Compilation for

This paper presents the outline of a module system for the Scheme programming language in order to solve several problems commonly encountered with contemporary implementations. These problems include the lack of support for separate compilation and crossmodule type checking as well as the necessity for non-standard language extensions to aid certain compiler optimizations like open compilation...

متن کامل

Executing Formal Specifications with Constraint Programming

We have implemented a technique for execution of formal, model-based speci cations. The speci cations we can execute are written at a level of abstraction that has not previously been supported in executable speci cation languages. The speci cation abstractions supported by our execution technique include quanti ed assertions that reference post-state values, and indirect de nitions of post-sta...

متن کامل

On Functional Programming, Language Design, and Persistence

ion is the process of separating properties of objects into two classes, one for details that are relevant to a given task and the other for those that are not. The purpose of this process is to provide some number of partial problem-speci c views of a given object, each one simpler than the complete view because it temporarily disregards inessential details. Whether or not some property of a g...

متن کامل

A language for Modular Information-passing Agents

For multi-agent systems, as for any complex system, a thorough theoretical foundation is indispensable. Hence, agent-oriented languages used for descriptions and implementations of multi-agent systems should be logically grounded and accompanied with a clear semantics. As a hopefully fruitful starting point towards such semantically well-founded languages, we propose a language of Modular Infor...

متن کامل

Towards a Practical Programming Language Based on the Polymorphic Lambda Calculus

The value of polymorphism in programming languages has been demonstrated by languages such as ML [19]. Recent e cient implementations of ML have shown that a language with implicit polymorphism can be practical [1]. The core of ML's type system is limited, however, by the fact that only instances of polymorphic functions may be passed as arguments to other functions, but not the polymorphic fun...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2007